RockNES History of past updates 7x -------------- Version 0.74 -------------- - Fixed NES RAM, SPR-RAM (Sprite RAM) and SRAM (Save RAM, battery) sizes and features; - Found the CPU bug which was breaking/hanging some games (Battetoads \ games, Karateka and others); - NES background render partially rewritten/optimised; - Fixed `-info' option (mirroring was being displayed incorrectly); - *Preliminary? incomplete?* Mapper #24 support (CastleVania 3 Jap.); - Joypad 2 working with no problems; - Better IRQ emulation support (no more the same for every mapper); - Major fix for save/load state feature! - On Reset, the native ROM mirroring is being restored; - Fixed Mappers #4/#64 reset! (Super Mario Bros.3 is ok); - Fixed some OS quit problems (memory related); - Fixed a minor mid-hblank problem; - Fixed 8-sprites/line detection; - Better way to access MapperX_Write() functions (w/ pointers); - Minor fixes across CPU/PPU functions; - Compiled with Allegro 3.11. -------------- Version 0.73 -------------- - Removed detection if there are +than 8 sprites at current scanline, which was breaking Rambo and others (Zelda2 has perfect title screen again); - Re-adjusted the NES RAM size (Zelda was hanging); - Fixed joypad bugs and some others. -------------- Version 0.72 -------------- - Fixed an internal problem. All RockNES features are working again. - Compiled with a newer Make. -------------- Version 0.71 -------------- - Compiled with the new Allegro 3.1, which was compiled with pgcc; - Fixed NES RAM size (too big); - Fixed a couple of minor bugs, like unused variables. -------------- Version 0.70 -------------- - Mid-HBlank writes fixed (or almost perfect); - PPU Name Table setting fixed; - Some changes in the NES interrupt code for a better PPU support; - Major changes in the CPU/PPU functions (Read/Write); - Fixed scrolling problems (works ok); - IRQ emulation fixed, now you can see raster effects, for example; - Detection if there are more than 8 sprites at current scanline; - Fixed a palette color bug (Darkwing Duck now works fine); - Added Mapper #78 (untested, but probably it works); - Mapper #68 fixed (AfterBurner 2 works fine, thanks Nyef); - Mapper #66 fixed and working; - Mappers #21 and #25 merged (partial support, bad for now); - Fixed some bugs in the Mapper #16 (not working yet); - Fixed a minor Mapper #7 bug; - Fixed a problem with Mapper #1 (MMC1); - Auto search for a valid gfx mode if the selected isn't supported; - Added Game Genie codes support; - Fixed RockNES shutdown (when you quit to DOS prompt); - Fixed problem with '-nosound' option (no more crash when you quit); - RockNES startup messages changed; - Added '-info' command line option to show information about the ROM; - Removed '-revmirr' command line option (bah); - Fixed a stupid problem with gamepad/joysticks (working again); - 6502 working with non-decimal mode; - Fixed minor bugs in the 6502 emulation core; - Changed the source around a lot making a GUI now possible; - Working Super Mario Bros.3 *perfectly* :-P *============================================================================* 6x --------------- Version 0.60b --------------- - Added option "-revmirr" for a reverse mirroring (Mapper 4 only). This will fix some games (like TopGun2), but too bad with others. - Fixed a bug in the IRQ code. Now, SMB3 works :) -------------- Version 0.60 -------------- - Partial NES sound emulation output (4 channels); - Better memory mapping system; - Better mapper support; - Better gfx engine, many bugs out (sprite/background); - All scanlines are rendered to prevent errors (displaying 8-231); - New latch control system (for some mappers); - *Full* support for Mappers #9 and #10 (working perfectly); - Added partial Mapper #64 support (Tengen - Shinobi and others); - Added Mappers #65 (untested) and #66 (not working); - Mapper #4 fix (you can see the SMB3 intro); - Fixed some bugs in the Mapper #18 (not good however); - Some Mapper #68 fix, but very buggy; - *Very* preliminary Mapper #25 support (Gradius 2); - New frame rate control; - Fixed problems with NES VBlank; - Some bugs fixed across 6502 functions (Read/Write/Loop); - Fixed problems parsing command line arguments; - Added a nice font. Thanks Zoop! :) 5x -------------- Version 0.58a -------------- - Fixed a bug that was causing incorrect speed (cart.nes) and half score scrolling (CastleVania 1). I don't know if this will affect other games. You can send an e-mail to me if a game isn't working good now. -------------- Version 0.58 -------------- - Fixed battery save/load feature. Now, it works fine; - Mappers #33 and #34 fixed and working with no problems; - Mapper #23 working (some games aren't working); - Added Mapper #15 (working 100%); - Added Mapper #16, but no games work; - Added Mapper #18, a bit buggy; - Added Mapper #21 (working 100%); - Preliminary real time save/load added; - Fixed a bug saving screenshots; - Fixed a bug in the joypads; - PPU Status register working good. This can fix tons of games; - You can't press up+down or left+right for now; - You can specify how many cycles per scanline by command line; - You can specify how many scanlines per frame by command line. -------------- Version 0.57 -------------- - Gfx engine speed up, thanks to Zoop for help; - Sprite priority working 100%, thanks to everybody that helped me; - Fixed a bug (the last?) getting ROM Mapper number; - Added Mappers #22 (Konami - TwinBee 3), #32 (Irem - Image Fight), #33, #34 (both not tested), #68 (SunSoft - AfterBurner 2, missing background with unknown reason for now), #71, #78 (both not tested), #91 (not working); - Partial Mapper #9 support; - Mapper #10 working with minor problems; - Mapper #11 working (stupid error removed); - Mapper #22 working (TwinBee3, minor score problem); - Fixed problem with Mapper #7 (working again, but very buggy); - Fixed a bug saving/displaying screen (Bitmap left-clip [PPU flag]); - Fixed bugs in both frameskip systems (auto and normal); - Fixed problem with Sprite #0 hit (games like Zelda 2, DuckTales 1&2 and Super Mario Bros.1 have correct speed again, fixing "half score" scroll in CastleVania 1, Zelda 2 and others; - Fixed a bug in Mapper #2 (Zelda 2 working ok); - Removed option to get 50FPS ("PAL" mode). ------------------------ Version 0.56 Release 2 ------------------------ - Some changes in the gfx engine (+speed); - Fixed a bug in the save screenshot function; - Screen is correctly centered again. -------------- Version 0.56 -------------- - Added a new graphic engine (scanline based, buggy), now, more games works fine, like Super Mario Bros. 1, DuckTales etc; - Bankswitch using pointers, so the address don't need to be re-calculated for each read, slightly faster (thanks to Zoop); - Re-added autoframeskip system to be used with the new gfx engine; - Fixed a bug in the autoframeskip system (delay time control, for fast PCs, now, works fine); - Many bugs fixed in 6502 functions (Rd/Wr/Loop/PPU); - The joystick is checked more easily; - Correct free memory when you quit to DOS; - Fixed snapshot so that it works in any video mode; - Fixed a bug in sprite displaying; - Fixed bugs in the mappers #1, #7 and #11 (#7 not working); - Working screen clearing (just play Ghosts'n Goblins); - Added One-Screen Mirroring to the new scanline engine; - Added command line options to change video card type/resolution; - Added ability to save more than one snapshot/ROM (limit=999); - Sprite visibility (top/bottom) works fine. -------------- Version 0.55 -------------- - Fixed Mapper #1, now more games works fine (like Metroid, Mega Man 2, CastleVania 2 etc); - Fixed Mapper #4, now more games works (Mega Man 6, Sword Master); - Implemented a new way of swapping ROM banks. This doesn't speed up the emulator or make it run any more games, however, it does make it a lot easier to work with and understand; - Added Mappers #10 and #23 (no games seems to run for now); - Added autoframeskip system; - Added the old frame rate system; - Compatibility increased; - Minor changes across mappers/6502 functions; - Fixed a bug in the graphic engine (current PPU name table); - Fixed a bug in the 6502 from Marat (now, with correct timing, the emulator has the correct speed); - Fixed a bug in the sprite code that can fix some games; - Fixed the NES ROM header read function (partially); - Fixed stupid bugs in the startup messages; - Removed video mode options by command line (just use rocknes.cfg); - Config file generator adapted with the new changes. --------------- Version 0.54b --------------- - Fixed a bug in the Mapper #1. Now, Rockman 2 works (and fine!). Other games should work. -------------- Version 0.54 -------------- - ClearScreen() code fix added - now there is no 'Error in ClearScreen()'; - Sprite priority fixed - some sprites can go behind things now (For example, in Zelda when you walk up/down stairs); - Fixed mapper #2 bug - Only a few more ROMS work, some still don't; - Fixed mapper #3 bug - All mapper #3 ROMS should work now; - Changed the palette to the one Nesticle uses because it works/looks better; - Made it so that a border isn't shown around the screen; - Added support for extended mappers #16+, no mappers implemented yet.; - Added a configuration file; - Added 2 player support w/ redefinition of keys/buttons; - Added information displayer (green text that pops up) - Some small optimizations, barely noticeable. ------------------------- Version 0.53 Release 3b ------------------------- - Whops! Fixed a bug in the PPU (just play to see). Now, Ghosts'n Goblins works fine; - While keys '+' or '-' are pressed, the frameskip isn't changed. Just press a key one time to increase/decrease. Same to F5 (reset). ------------------------- Version 0.53 Release 3 ------------------------- - Some changes in the sprite/BG code; - The screen is correctly centered; - Maybe more games are working (like Power Blade 2) or with a bit less glitches (like Tetris by Tengen). ------------------------ Version 0.53 Release 2 ------------------------ - Fixed a bug in the sprite code (sorry); - Some changes when writting to the PPU; - Some little changes in the main code. -------------- Version 0.53 -------------- - Removed tons of unused variables; - Big clean of source code; - Fixed a bug in the PPU (background color, now Rockman 1 is okay); - Frameskip range set to 0-6 (default=2); - Fixed some bugs in the 6502 functions (Rd/Wr/loop); - Fixed a bug in the Mapper 7 (incorrect name table); - Fixed a bug in the Reset_Nes(); - Fixed the shutdown function (TrashMachine); - Fixed a bit the current graphic engine; - Screen is always centered in any video mode; - You can hide the .NES extension (ex: RockNES gamename OR gamename.NES); - 5-15% more faster (really?). -------------- Version 0.52 -------------- - Compiled with PGCC (for Pentium processors); - Fixed bugs parsing command line switches; - More video resolutions, with all modes merged to -gfx switch. ------------------------------------ Version 0.51 - INITIAL Fx3 RELEASE ------------------------------------ - Encapsulated xnes.dat (palette); - Added joystick support (4-buttons, player 1 only); - The emulator doesn't crash more when unable to initialise graphics modes; - Primitive GUI removed to be improved; - New resolutions, with auto detection improved (a bit faster); - Some changes in the messages. ---------------------------------------------------------------------------------------- 4x Version 0.45 : - Speed up into the 6502 emulation core of Marat - fixed bug into the PPU memory - MMC 4 partially supported ( Mario2 is playable ) Version 0.40 : - Very more compatible ! - ModeX added - 8x16 Sprite fixed - Some fix in the xNes code - Big fix in the MMC 1 - Sprite Priority - Some fix in the MMC 9 - Some stupid bug in the xNes code removed - New Graphic engine reworked 3x Version 0.30 : - Better Graphics - New graphic engine - MMC 9 added / VERY BUGGY ! - MMC 1 fixed - Fixed the 6502 - other things that I dont remember. 2x unknown??? 1x unknown??? *---------------------------------------------------------------------------*